package com.qike.baoxiu.tools;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author: Eric.zhou
 * @Date: 2019/9/26 12:09
 */
public class BaseUtil {
    private BaseUtil(){};

    /**
     * 构造登录参数
     * @param dbid 账套id
     * @param userName 用户名
     * @param password 密码
     * @param lang 语言
     * @return
     */
    public static String buildLogin(String dbid, String userName, String password, int lang){
        Map<String,Object> param = new HashMap<>(4);
        param.put("acctID",dbid);
        param.put("username",userName);
        param.put("password",password);
        param.put("lcid",lang);
        return JSON.toJSONString(param);
    }


    /**
     * 初始化物料信息
     * @param template 物料基础数据模板
     * @param code 物料编码
     * @param name 物料名称
     * @param attr 物料规格属性
     * @return
     */
    public static String buildMaterial(String template,String code,String name,String attr){
        JSONObject basic = JSON.parseObject(template);
        Map<String,Object> model = (Map<String, Object>) basic.get("VoucherModel");
        model.put("FNumber",code);
        model.put("FName",name);
        model.put("FSpecification",attr);
        basic.put("VoucherModel",model);
        Map<String,Object> FEntityInvPty = (Map<String, Object>) basic.get("FEntityInvPty");
         FEntityInvPty.get("FInvPtyId");

        return JSON.toJSONString(basic);
    }

    /**
     * 构造提交、审核参数
     * @param formid 表单id
     * @param numbers 编码 多个编码以,分隔
     * @param flags 审核标示 多个以,分隔 和编码一一对应
     * @return
     */
    public static String buildParam(String formid,String numbers,String flags){
        JSONObject jsonObject = new JSONObject();
        JSONObject param = new JSONObject();
        if(flags!=null){
            String[] arr_flag = flags.split(",");
            param.put("InterationFlags",arr_flag);
        }
        String[] arr_number = numbers.split(",");
        param.put("Numbers",arr_number);
        jsonObject.put("formid",formid);
        jsonObject.put("data", JSON.toJSONString(param));
        return JSON.toJSONString(jsonObject);
    }

}

